test(core): wire the mesh integration suites into CI and cover the ws queue - #26
Merged
Conversation
The runner required a scenario name and exited with a usage message otherwise, so the suite could not be run as a whole. Bare invocation now runs all scenarios in order; passing a name still selects a single scenario.
… queue pnpm test ran only the coordinator socket-error suite and the two identity unit suites; the mesh integration suites (mesh e2e, broadcast-window, identity-restart) ran only ad hoc, so the cross-visibility and broadcast-queue regressions they pin were invisible to CI. Run them all in one serial node --test invocation (--test-concurrency=1) so concurrent meshes cannot contend for CPU on shared runners, and include tls-transport now that it runs its full scenario set without an argument. The transport broadcast queue from the dial-window fix is implemented per transport but only the TLS path had coverage; mesh e2e exercises the TCP path and a new ws broadcast-window test covers the WebSocket path (two WS peers, immediate post-init registration, room-message push), which had no coverage at all.
Codex Review SummaryThis comment shows the latest Codex review activity on this pull request.
ℹ️ About Codex in GitHubYour team has set up Codex to review pull requests in this repo. Reviews are triggered when you
Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings. |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Resolves items 3, 4, and 5 of the deferred follow-ups from the #23/#24 sessions.
pnpm testran only three suites (coordinator socket-error, identity-store, identity-cert); every mesh integration suite ran ad hoc, so the cross-visibility and broadcast-queue regressions they pin — including the exact #23 repro — were invisible to CI. All of them now run in one serialnode --test --test-concurrency=1invocation, so concurrent meshes cannot contend for CPU on shared runners:broadcast-window(the State patches broadcast before TLS data connections are established are silently lost #23 repro),identity-restart(the Pi bridge: onDelivery never fires after first session (ephemeral TLS identity diverges from persisted agentId #14 acceptance path),mesh-e2e(which also gives the TCP transport's queue path its first real coverage), andws-broadcast-window— new, covering the WebSocket queue path, which had no coverage at all (two WS peers, immediate post-init registration, room-message push, with the membership-convergence wait the sender needs before delivery is meaningful).tls-transportnow runs too, since this PR also makes its runner execute all scenarios when invoked without a name (previously: usage message and exit; named selection unchanged).Full wired suite: 13 tests, five consecutive clean local rounds plus lint/typecheck/build green.